﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using OpenTK;

namespace NLE
{
    public class Action
    {

        public enum ActionType { Creation, Deletion, Translation, Rotation, Scale, zOrder, PropertyChange, OriginChange };

        public ActionType Type { get; set; }

        public LevelObject Object { get; set; }

        public string Property { get; set; }

        public string OldPropertyValue { get; set; }
        public string NewPropertyValue { get; set; }

        // Translation

        public Vector2 OldPosition { get; set; }
        public Vector2 NewPosition { get; set; }

        // Rotation

        public float OldRotation { get; set; }
        public float NewRotation { get; set; }

        // Scale

        public Vector2 OldScale { get; set; }
        public Vector2 NewScale { get; set; }

        // zOrder

        public float OldzOrder { get; set; }
        public float NewzOrder { get; set; }

        // Origin
        public Vector2 OldOrigin { get; set; }
        public Vector2 NewOrigin { get; set; }
    }
}
